home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -in_the_mag- / workbench / adf / transadf / source / util.h < prev    next >
C/C++ Source or Header  |  2000-03-05  |  3KB  |  91 lines

  1. /* util.h - Header file for util.c and util-asm.a
  2. ** Copyright (C) 1997,1998 Karl J. Ots
  3. ** 
  4. ** This program is free software; you can redistribute it and/or modify
  5. ** it under the terms of the GNU General Public License as published by
  6. ** the Free Software Foundation; either version 2 of the License, or
  7. ** (at your option) any later version.
  8. ** 
  9. ** This program is distributed in the hope that it will be useful,
  10. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. ** GNU General Public License for more details.
  13. ** 
  14. ** You should have received a copy of the GNU General Public License
  15. ** along with this program; if not, write to the Free Software
  16. ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17. */
  18.  
  19. #ifndef TRANSADF_UTIL_H
  20. #define TRANSADF_UTIL_H
  21.  
  22.  
  23. /*------------------------------------*/
  24. /* Miscellaneous functions and macros */
  25. /*------------------------------------*/
  26.  
  27. #ifndef EXEC_TYPES_H
  28. #include <exec/types.h>
  29. #endif /* EXEC_TYPES_H */
  30.  
  31. #ifndef DOS_DOS_H
  32. #include <dos/dos.h>
  33. #endif /* DOS_DOS_H */
  34.  
  35. #ifndef CLIB_EXEC_PROTOS_H
  36. #include <clib/exec_protos.h>
  37. #endif /* CLIB_EXEC_PROTOS_H */
  38.  
  39. #ifndef CLIB_DOS_PROTOS_H
  40. #include <clib/dos_protos.h>
  41. #endif /* CLIB_DOS_PROTOS_H */
  42.  
  43. #ifndef TRANSADF_MAIN_H
  44. #include "main.h"
  45. #endif /* TRANSADF_MAIN_H */
  46.  
  47.  
  48. /*---------------*/
  49. /* Useful Macros */
  50. /*---------------*/
  51.  
  52.  
  53. /* Check to see if Control-C has been pressed */
  54. #define CTRL_C         (SetSignal(NULL,NULL) & SIGBREAKF_CTRL_C)
  55.  
  56.  
  57. /* File types as returned by getFileType() */
  58. #define FT_UNKNOWN    0    /* Default file type.                          */
  59. #define FT_DOS        1    /* AmigaDOS disk.                              */
  60. #define FT_ZLIB       2    /* ZLib stream (as defined in RFC-1950).       */
  61. #define FT_GZIP       3    /* GZip file (as defined in RFC-1952).         */
  62. #define FT_PKZIP      4    /* 'Standard' Zip as used by PK- and Info-Zip. */
  63. #define FT_PKZIP_ADD  5    /* Add a new file to a PKZip archive.          */
  64.  
  65.  
  66. /*---------------------*/
  67. /* Function prototypes */
  68. /*---------------------*/
  69.  
  70. STRPTR b2cstr (BSTR bstring);
  71.  
  72. #ifndef COMPILE_LITE
  73. ULONG  getFileType (BPTR file);
  74. BOOL   writeHead (BPTR outFile, STRPTR origName, ULONG fileType);
  75. BOOL   finishFile (BPTR outFile, ULONG CRC, ULONG CSize, ULONG USize, 
  76.                    ULONG fileType);
  77. BOOL   skipHead (BPTR inFile, STRPTR origName, ULONG fileType);
  78. BOOL   readTail (BPTR inFile, ULONG *CRC, ULONG *USize, ULONG fileType);
  79. ULONG  unixDate (void);
  80. ULONG  dosDate (void);
  81.  
  82. /* These two change the byte-order of a supplied short or long respectively */
  83. /* ie  LES (0x1234) ==> 0x3412,  LEL (0x12345678) ==> 0x78563412            */
  84. /* They are defined in 'util-asm.a'                                         */
  85. __regargs UWORD LES (register __D0 UWORD num);
  86. __regargs ULONG LEL (register __D0 ULONG num);
  87. #endif /* COMPILE_LITE */
  88.  
  89.  
  90. #endif /* TRANSADF_UTIL_H */
  91.